#ifndef						MAP_HH_
# define					MAP_HH_

# include					<map>
# include					<utility>
# include					<iostream>
# include					<vector>
# include					"Square.hh"
# include					"Human.hh"
# include					"IA.hh"
# include					"AScreen.hh"

class 						Map : public AScreen
{
private:
	//						Attributes
	int						_turn;
	sf::RenderWindow 		&_window;
	std::map<int, Square*>	_map;
	std::vector<APlayer*>	_players;
	Arbitre					*_arbitre;
	int 					_gameType;

public:
	//						Ctor-Dtor
	Map(sf::RenderWindow &win);
	virtual ~Map();
			
	//						Functions
	void					draw();
	void					buildMap();
	bool					mouseButtonEvent(sf::Event::MouseButtonEvent &event);
	void					mouseMoveEvent(sf::Event::MouseMoveEvent &event);
	void					initPlayers(int type);
	void					spreadSmell(int key, int smellPower, short direction, bool color);
	void					smellManager(int key, int i, int length, bool color);
	void					display();
	
	//						Getters
	int			const		getGameType() const{return(0);}
};

#endif